# import stuff
import os.path
import numpy as np
import tensorflow as tf
import matplotlib.pyplot as plt
import motornet as mn
from motornet.plants.muscles import RigidTendonHillMuscleThelen
2023-05-16 09:50:50.629528: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2 FMA To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags. 2023-05-16 09:50:51.817146: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /srv/software/itksnap/itksnap-3.8.2-alpha-20200410-Linux-gcc64-qt4/lib/snap-3.8.2-alpha:/srv/software/freesurfer/6.0.0/lib 2023-05-16 09:50:51.817177: I tensorflow/compiler/xla/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine. 2023-05-16 09:51:00.079899: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer.so.7'; dlerror: libnvinfer.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /srv/software/itksnap/itksnap-3.8.2-alpha-20200410-Linux-gcc64-qt4/lib/snap-3.8.2-alpha:/srv/software/freesurfer/6.0.0/lib 2023-05-16 09:51:00.084802: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer_plugin.so.7'; dlerror: libnvinfer_plugin.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /srv/software/itksnap/itksnap-3.8.2-alpha-20200410-Linux-gcc64-qt4/lib/snap-3.8.2-alpha:/srv/software/freesurfer/6.0.0/lib 2023-05-16 09:51:00.084821: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.
# Disable all GPUS
tf.config.set_visible_devices([], 'GPU')
visible_devices = tf.config.get_visible_devices()
for device in visible_devices:
assert device.device_type != 'GPU'
2023-05-16 09:51:16.206622: E tensorflow/compiler/xla/stream_executor/cuda/cuda_driver.cc:267] failed call to cuInit: CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected 2023-05-16 09:51:16.206666: I tensorflow/compiler/xla/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (AFI-CBS-B1): /proc/driver/nvidia/version does not exist
# define a Centre-out FF reaching task
import copy
import numpy as np
import tensorflow as tf
from motornet.nets.losses import PositionLoss, L2xDxActivationLoss, L2xDxRegularizer, CompoundedLoss
from motornet.tasks import Task
from typing import Union
class CentreOutFF(Task):
def __init__(
self,
network,
name: str = 'CentreOutReach',
angular_step: float = 15,
catch_trial_perc: float = 50,
reaching_distance: float = 0.1,
start_position: Union[list, tuple, np.ndarray] = None,
deriv_weight: float = 0.,
go_cue_range: Union[list, tuple, np.ndarray] = (0.10, 0.30),
**kwargs
):
super().__init__(network, name=name, **kwargs)
self.angular_step = angular_step
self.catch_trial_perc = catch_trial_perc
self.reaching_distance = reaching_distance
self.start_position = start_position
if not self.start_position:
# start at the center of the workspace
lb = np.array(self.network.plant.pos_lower_bound)
ub = np.array(self.network.plant.pos_upper_bound)
self.start_position = lb + (ub - lb) / 2
self.start_position = np.array(self.start_position).reshape(1, -1).tolist()
muscle_loss = L2xDxActivationLoss(
max_iso_force=self.network.plant.muscle.max_iso_force,
dt=self.network.plant.dt,
deriv_weight=deriv_weight
)
self.add_loss('muscle state', loss_weight=5.0, loss=muscle_loss) # 5.0
gru_loss = L2xDxRegularizer( deriv_weight=0.05, dt=self.network.plant.dt) # 0.05
self.add_loss('gru_hidden_0', loss_weight=0.1, loss=gru_loss) # 0.1
self.add_loss('cartesian position', loss_weight=2.0, loss=PositionLoss()) # 2.0
go_cue_range = np.array(go_cue_range) / self.network.plant.dt
self.go_cue_range = [int(go_cue_range[0]), int(go_cue_range[1])]
self.delay_range = self.go_cue_range
# CW by default
self.FF_matvel = tf.convert_to_tensor(kwargs.get('FF_matvel', np.array([[0,1],[-1,0]])), dtype=tf.float32)
self.FF_matvel_x = tf.slice(self.FF_matvel, [0, 0], [1, -1])
self.FF_matvel_y = tf.slice(self.FF_matvel, [1, 0], [1, -1])
self.apply_ff = tf.keras.layers.Lambda(
lambda x: x[0] * tf.concat(
[
tf.reduce_sum(self.FF_matvel_x * x[1], axis=1, keepdims=True),
tf.reduce_sum(self.FF_matvel_y * x[1], axis=1, keepdims=True),
], axis=1),
name="apply_force_field"
)
def generate(self, batch_size, n_timesteps, condition="test", ff_coefficient: float = 0.):
"""
condition = "train": learn to reach to random targets in workspace in a NF
"test" : centre-out reaches to each target in a given FF/NF
"adapt": re-learn centre-out reaches in a given FF/NF
"""
catch_trial = np.zeros(batch_size, dtype='float32')
if (condition=="train"): # train net to reach to random targets in workspace in a NF
init_states = self.get_initial_state(batch_size=batch_size)
goal_states_j = self.network.plant.draw_random_uniform_states(batch_size=batch_size)
goal_states = self.network.plant.joint2cartesian(goal_states_j)
p = int(np.floor(batch_size * self.catch_trial_perc / 100))
catch_trial[np.random.permutation(catch_trial.size)[:p]] = 1.
elif (condition=="test"): # centre-out reaches to each target in a given FF/NF
angle_set = np.deg2rad(np.arange(0, 360, self.angular_step))
reps = int(np.ceil(batch_size / len(angle_set)))
angle = np.tile(angle_set, reps=reps)
batch_size = reps * len(angle_set)
start_jpv = np.concatenate([self.start_position, np.zeros_like(self.start_position)], axis=1)
start_cpv = self.network.plant.joint2cartesian(start_jpv)
end_cp = self.reaching_distance * np.stack([np.cos(angle), np.sin(angle)], axis=-1)
init_states = self.network.get_initial_state(batch_size=batch_size, inputs=start_jpv)
goal_states = start_cpv + np.concatenate([end_cp, np.zeros_like(end_cp)], axis=-1)
catch_trial = np.zeros(batch_size, dtype='float32')
elif (condition=="adapt"): # re-learn centre-out reaches in a given FF/NF
angle_set = np.deg2rad(np.arange(0, 360, self.angular_step))
reps = int(np.ceil(batch_size / len(angle_set)))
angle = np.tile(angle_set, reps=reps)
batch_size = reps * len(angle_set)
start_jpv = np.concatenate([self.start_position, np.zeros_like(self.start_position)], axis=1)
start_cpv = self.network.plant.joint2cartesian(start_jpv)
end_cp = self.reaching_distance * np.stack([np.cos(angle), np.sin(angle)], axis=-1)
init_states = self.network.get_initial_state(batch_size=batch_size, inputs=start_jpv)
goal_states = start_cpv + np.concatenate([end_cp, np.zeros_like(end_cp)], axis=-1)
p = int(np.floor(batch_size * self.catch_trial_perc / 100))
catch_trial[np.random.permutation(catch_trial.size)[:p]] = 1.
startpos = self.network.plant.joint2cartesian(init_states[0][:, :])
go_cue = np.ones([batch_size, n_timesteps, 1])
targets = self.network.plant.state2target(state=goal_states, n_timesteps=n_timesteps).numpy()
inputs_targ = copy.deepcopy(targets[:, :, :self.network.plant.space_dim])
tmp = np.repeat(startpos[:, np.newaxis, :self.network.plant.space_dim], n_timesteps, axis=1)
inputs_start = copy.deepcopy(tmp)
for i in range(batch_size):
if ((condition=="train") or (condition=="adapt")):
go_cue_time = int(np.random.uniform(self.go_cue_range[0], self.go_cue_range[1]))
elif (condition=="test"):
go_cue_time = int((self.go_cue_range[0]+self.go_cue_range[1])/2)
if catch_trial[i] > 0.:
targets[i, :, :] = startpos[i, np.newaxis, :]
else:
targets[i, :go_cue_time, :] = startpos[i, np.newaxis, :]
inputs_start[i, go_cue_time + self.network.visual_delay:, :] = 0.
go_cue[i, go_cue_time + self.network.visual_delay:, 0] = 0.
inputs = {
"inputs": np.concatenate([inputs_start, inputs_targ, go_cue], axis=-1),
"ff_coefficient": ff_coefficient * np.ones((batch_size, n_timesteps, 1)),
}
return [inputs, self.convert_to_tensor(targets), init_states]
def recompute_inputs(self, inputs, states):
b = inputs['ff_coefficient']
_, cstate, _, _ = self.network.unpack_plant_states(states)
vel = cstate[:, 2:]
inputs['endpoint_load'] = self.apply_ff((b, vel)) # [2x2] x [2xbatch] = [2xbatch]
return inputs
# some utility functions
# plot hand paths
def plot_simulations(xy, target_xy):
target_x = target_xy[:, -1, 0]
target_y = target_xy[:, -1, 1]
f,ax = plt.subplots()
nmov,ntime,_ = np.shape(xy)
for i in range(nmov):
ax.plot(xy[i,:,0],xy[i,:,1],color="b",linewidth=1.0)
ax.scatter(target_x, target_y)
ax.axis("equal")
ax.set_xlabel("X (m)")
ax.set_ylabel("Y (m)")
return ax
# convert cartesian hand position to joint angles
def hand_to_joints(xy, L1, L2):
j = np.zeros(np.shape(xy))
j[:,:,1] = np.arccos((xy[:,:,0]**2 + xy[:,:,1]**2 - L1**2 - L2**2) / (2*L1*L2))
j[:,:,0] = np.arctan2(xy[:,:,1],xy[:,:,0]) - np.arctan2(L2*np.sin(j[:,:,1]),L1+(L2*np.cos(j[:,:,1])))
return j
# plot timeseries joint angles, velocities, muscle activations, and muscle forces
def plot1trial(nn, inputs, results, targets_j, trial=0):
j_results = results['joint position']
m_results = results['muscle state']
plt.figure(figsize=(14, 2.5)).set_tight_layout(True)
plt.subplot(141)
plt.plot(j_results[trial, :, 0]*180/np.pi, label='sho')
plt.plot(j_results[trial, :, 1]*180/np.pi, label='elb')
plt.plot(targets_j[trial, :, 0]*180/np.pi, '--')
plt.plot(targets_j[trial, :, 1]*180/np.pi, '--')
plt.axvline(np.where(inputs["inputs"][trial, :, -1] != 1)[0][0] - nn.task.network.visual_delay, c='grey')
plt.legend()
plt.xlabel('time (ms)')
plt.ylabel('angle (deg)')
plt.subplot(142)
plt.plot(j_results[trial, :, 2], label='sho')
plt.plot(j_results[trial, :, 3], label='elb')
plt.legend()
plt.xlabel('time (ms)')
plt.ylabel('angle velocity (rad/sec)')
plt.subplot(143)
plt.plot(m_results[trial, :, 0, :])
plt.xlabel('time (ms)')
plt.ylabel('activation (a.u.)')
plt.legend(["PEC","DEL","BRA","TRI","BIC","TR2"], loc=1)
plt.subplot(144)
plt.plot(m_results[trial, :, -1, :])
plt.xlabel('time (ms)')
plt.ylabel('force (N)')
plt.legend(["PEC","DEL","BRA","TRI","BIC","TR2"], loc=1)
plt.show()
# from Jon: If you have access only to a running average of values (M), you can calculate the value (x) added in the current iteration (n) with:
# x(n) = nM(n) - (n-1)M(n-1)
def unwrap_loss(M):
n = np.size(M)
x = np.zeros(n)
x[0] = M[0]
for i in range(1,n):
x[i] = (i+1)*M[i] - (i+1-1)*M[i-1]
return x
# average over non-overlapping windows size w;
# throws away tail of x that doesn't divide evenly into w
def window_average(x, w=10):
rows = int(np.size(x)/w) # round to (floor) int
cols = w
return x[0:w*rows].reshape((rows,cols)).mean(axis=1)
def train_net(nn, ff_coef=0, n_epochs=100, batch_size=1024, n_batches=30):
[inputs, targets, init_states] = nn.task.generate(
n_timesteps = n_t,
batch_size = batch_size*n_batches,
condition = "train",
ff_coefficient = ff_coef
)
callbacks = [mn.nets.callbacks.BatchLogger()]
_ = nn.fit(x = [inputs, init_states],
y = targets,
verbose = 1,
epochs = n_epochs,
batch_size = batch_size,
shuffle = True,
callbacks = callbacks
)
position_loss_NF1 = np.zeros(0)
for i in range(n_epochs):
i1,i2 = i*n_batches, (i+1)*n_batches
position_loss_NF1 = np.concatenate((position_loss_NF1,
unwrap_loss(callbacks[0].history['position_loss'][i1:i2])))
return position_loss_NF1
def test_net(nn, ff_coef=0, n_mov_circle=8, plot_hand=True, plot_timeseries=True):
# generate task
nn.task.angular_step = 360 / n_mov_circle
[inputs, targets, init_states] = nn.task.generate(
n_timesteps = n_t,
batch_size = n_mov_circle,
condition = "test",
ff_coefficient = ff_coef)
# run network
results = nn([inputs, init_states], training=False)
if (plot_hand):
# plot hand paths
f = plot_simulations(xy=results["cartesian position"], target_xy=targets)
if (plot_timeseries):
# plot joint- and muscle-based time series
L1,L2 = nn.task.network.plant.skeleton.L1, nn.task.network.plant.skeleton.L2
targets_j = hand_to_joints(targets, L1, L2)
n_mov = np.shape(results["joint position"])[0]
for i in range(n_mov_circle):
plot1trial(nn, inputs, results, targets_j, i)
# set up a fresh network
n_units = 49 # hidden units of RNN
# SET UP PLANT
plant = mn.plants.RigidTendonArm26(
muscle_type = RigidTendonHillMuscleThelen(),
visual_delay = 0.05,
proprioceptive_delay = 0.02,
excitation_noise_sd = 1e-4,
pos_lower_bound = (np.deg2rad( 23), np.deg2rad( 26)), # keep to centre-ish of workspace
pos_upper_bound = (np.deg2rad(113), np.deg2rad(130))
)
# SET UP NETWORK
network = mn.nets.layers.GRUNetwork(
name = 'network',
plant = plant,
n_units = n_units,
kernel_regularizer = 1e-6,
recurrent_regularizer = 1e-5,
proprioceptive_noise_sd = 1e-3,
visual_noise_sd = 1e-4,
hidden_noise_sd = 1e-3
)
# SET UP TASK
catch_trial_perc = 50
start_position = [1.047, 1.570] # [60,90] deg
go_cue_range = (.100, .300)
task = CentreOutFF(
network = network,
start_position = start_position,
go_cue_range = go_cue_range,
catch_trial_perc = catch_trial_perc
)
task.network.do_recompute_inputs = True
task.network.recompute_inputs = task.recompute_inputs
# SET UP RNN
rnn = tf.keras.layers.RNN(
cell = network,
return_sequences = True,
name = 'RNN')
input_dict = task.get_input_dict_layers()
state0 = task.get_initial_state_layers()
states_out = rnn(input_dict, initial_state=state0)
# SET UP MAIN NETWORK OBJECT
nn = mn.nets.MotorNetModel(
inputs = [input_dict, state0],
outputs = states_out,
name = 'model',
task = task)
nn.compile(
optimizer = tf.optimizers.legacy.Adam(clipnorm=1.),
loss = task.losses,
loss_weights = task.loss_weights)
2023-05-16 09:51:16.561101: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2 FMA To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
# train network to reach in a NF to random targets
batch_size = 128
n_batches = 1000
n_epochs = 10
ff_coef = 0 # NF
n_t = 100
callbacks = [mn.nets.callbacks.BatchLogger()]
[inputs, targets, init_states] = nn.task.generate(
n_timesteps = n_t,
batch_size = batch_size*n_batches,
condition = "train",
ff_coefficient = ff_coef
)
_ = nn.fit(x = [inputs, init_states],
y = targets,
verbose = 1,
epochs = n_epochs,
batch_size = batch_size,
shuffle = True,
callbacks = callbacks
)
Epoch 1/10 1000/1000 [==============================] - 206s 199ms/step - loss: 0.1302 - position_loss: 0.0596 - gru_regularizer_loss: 0.0774 - l2_xdx_activation_loss: 5.1217e-04 Epoch 2/10 1000/1000 [==============================] - 200s 199ms/step - loss: 0.0786 - position_loss: 0.0311 - gru_regularizer_loss: 0.0751 - l2_xdx_activation_loss: 0.0015 Epoch 3/10 1000/1000 [==============================] - 200s 200ms/step - loss: 0.0705 - position_loss: 0.0274 - gru_regularizer_loss: 0.0602 - l2_xdx_activation_loss: 0.0017 Epoch 4/10 1000/1000 [==============================] - 204s 204ms/step - loss: 0.0671 - position_loss: 0.0259 - gru_regularizer_loss: 0.0519 - l2_xdx_activation_loss: 0.0017 Epoch 5/10 1000/1000 [==============================] - 206s 206ms/step - loss: 0.0649 - position_loss: 0.0251 - gru_regularizer_loss: 0.0462 - l2_xdx_activation_loss: 0.0018 Epoch 6/10 1000/1000 [==============================] - 204s 204ms/step - loss: 0.0634 - position_loss: 0.0245 - gru_regularizer_loss: 0.0420 - l2_xdx_activation_loss: 0.0018 Epoch 7/10 1000/1000 [==============================] - 203s 203ms/step - loss: 0.0623 - position_loss: 0.0241 - gru_regularizer_loss: 0.0390 - l2_xdx_activation_loss: 0.0018 Epoch 8/10 1000/1000 [==============================] - 151s 151ms/step - loss: 0.0614 - position_loss: 0.0237 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0018 Epoch 9/10 1000/1000 [==============================] - 151s 151ms/step - loss: 0.0607 - position_loss: 0.0235 - gru_regularizer_loss: 0.0347 - l2_xdx_activation_loss: 0.0018 Epoch 10/10 1000/1000 [==============================] - 206s 206ms/step - loss: 0.0602 - position_loss: 0.0232 - gru_regularizer_loss: 0.0331 - l2_xdx_activation_loss: 0.0018
# test network in a NF in the centre-out reaching task
ff_coef = 0 # NF
test_net(nn, ff_coef=ff_coef)
# switch now to SGD optimizer
nn.compile(
optimizer = tf.optimizers.legacy.SGD(learning_rate = 0.001,
momentum = 0.9
),
loss = nn.task.losses,
loss_weights = nn.task.loss_weights
)
# re-train in a NF to get a measure of baseline position loss
ff_coef = 0 # NF
position_loss_NF1 = train_net(nn, ff_coef=ff_coef)
# make some plots
plt.plot(position_loss_NF1)
plt.show()
NF1w = window_average(position_loss_NF1)
plt.plot(NF1w)
plt.show()
# test network in a NF in the centre-out reaching task
ff_coef = 0 # NF
test_net(nn, ff_coef=ff_coef)
# test network in a NF in the centre-out reaching task
ff_coef = 10 # CWFF
test_net(nn, ff_coef=ff_coef)
Epoch 1/100 30/30 [==============================] - 43s 1s/step - loss: 0.0595 - position_loss: 0.0229 - gru_regularizer_loss: 0.0325 - l2_xdx_activation_loss: 0.0018 Epoch 2/100 30/30 [==============================] - 31s 1s/step - loss: 0.0592 - position_loss: 0.0228 - gru_regularizer_loss: 0.0324 - l2_xdx_activation_loss: 0.0018 Epoch 3/100 30/30 [==============================] - 17s 576ms/step - loss: 0.0592 - position_loss: 0.0227 - gru_regularizer_loss: 0.0324 - l2_xdx_activation_loss: 0.0018 Epoch 4/100 30/30 [==============================] - 17s 572ms/step - loss: 0.0592 - position_loss: 0.0227 - gru_regularizer_loss: 0.0324 - l2_xdx_activation_loss: 0.0018 Epoch 5/100 30/30 [==============================] - 17s 582ms/step - loss: 0.0592 - position_loss: 0.0227 - gru_regularizer_loss: 0.0324 - l2_xdx_activation_loss: 0.0018 Epoch 6/100 30/30 [==============================] - 17s 566ms/step - loss: 0.0592 - position_loss: 0.0227 - gru_regularizer_loss: 0.0324 - l2_xdx_activation_loss: 0.0018 Epoch 7/100 30/30 [==============================] - 17s 566ms/step - loss: 0.0592 - position_loss: 0.0227 - gru_regularizer_loss: 0.0324 - l2_xdx_activation_loss: 0.0018 Epoch 8/100 30/30 [==============================] - 17s 573ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0324 - l2_xdx_activation_loss: 0.0018 Epoch 9/100 30/30 [==============================] - 17s 568ms/step - loss: 0.0592 - position_loss: 0.0227 - gru_regularizer_loss: 0.0324 - l2_xdx_activation_loss: 0.0018 Epoch 10/100 30/30 [==============================] - 17s 567ms/step - loss: 0.0592 - position_loss: 0.0227 - gru_regularizer_loss: 0.0324 - l2_xdx_activation_loss: 0.0018 Epoch 11/100 30/30 [==============================] - 17s 574ms/step - loss: 0.0592 - position_loss: 0.0227 - gru_regularizer_loss: 0.0324 - l2_xdx_activation_loss: 0.0018 Epoch 12/100 30/30 [==============================] - 17s 567ms/step - loss: 0.0592 - position_loss: 0.0227 - gru_regularizer_loss: 0.0324 - l2_xdx_activation_loss: 0.0018 Epoch 13/100 30/30 [==============================] - 17s 562ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0324 - l2_xdx_activation_loss: 0.0018 Epoch 14/100 30/30 [==============================] - 26s 887ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0324 - l2_xdx_activation_loss: 0.0018 Epoch 15/100 30/30 [==============================] - 26s 849ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0324 - l2_xdx_activation_loss: 0.0018 Epoch 16/100 30/30 [==============================] - 25s 848ms/step - loss: 0.0592 - position_loss: 0.0227 - gru_regularizer_loss: 0.0324 - l2_xdx_activation_loss: 0.0018 Epoch 17/100 30/30 [==============================] - 25s 830ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0324 - l2_xdx_activation_loss: 0.0018 Epoch 18/100 30/30 [==============================] - 25s 838ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0324 - l2_xdx_activation_loss: 0.0018 Epoch 19/100 30/30 [==============================] - 25s 815ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0324 - l2_xdx_activation_loss: 0.0018 Epoch 20/100 30/30 [==============================] - 25s 824ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0324 - l2_xdx_activation_loss: 0.0018 Epoch 21/100 30/30 [==============================] - 25s 835ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0324 - l2_xdx_activation_loss: 0.0018 Epoch 22/100 30/30 [==============================] - 25s 842ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0324 - l2_xdx_activation_loss: 0.0018 Epoch 23/100 30/30 [==============================] - 25s 827ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0324 - l2_xdx_activation_loss: 0.0018 Epoch 24/100 30/30 [==============================] - 25s 833ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0324 - l2_xdx_activation_loss: 0.0018 Epoch 25/100 30/30 [==============================] - 25s 821ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0018 Epoch 26/100 30/30 [==============================] - 25s 841ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0018 Epoch 27/100 30/30 [==============================] - 25s 839ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0018 Epoch 28/100 30/30 [==============================] - 25s 842ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0018 Epoch 29/100 30/30 [==============================] - 25s 847ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0018 Epoch 30/100 30/30 [==============================] - 25s 831ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0018 Epoch 31/100 30/30 [==============================] - 25s 825ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0018 Epoch 32/100 30/30 [==============================] - 25s 825ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0018 Epoch 33/100 30/30 [==============================] - 25s 842ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0018 Epoch 34/100 30/30 [==============================] - 25s 832ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0018 Epoch 35/100 30/30 [==============================] - 25s 829ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0018 Epoch 36/100 30/30 [==============================] - 25s 838ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0018 Epoch 37/100 30/30 [==============================] - 25s 842ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0018 Epoch 38/100 30/30 [==============================] - 25s 831ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0018 Epoch 39/100 30/30 [==============================] - 26s 851ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0018 Epoch 40/100 30/30 [==============================] - 26s 856ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0018 Epoch 41/100 30/30 [==============================] - 26s 851ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0018 Epoch 42/100 30/30 [==============================] - 26s 851ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0018 Epoch 43/100 30/30 [==============================] - 25s 844ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0018 Epoch 44/100 30/30 [==============================] - 25s 846ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0018 Epoch 45/100 30/30 [==============================] - 25s 844ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0018 Epoch 46/100 30/30 [==============================] - 25s 842ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0018 Epoch 47/100 30/30 [==============================] - 25s 841ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0018 Epoch 48/100 30/30 [==============================] - 25s 847ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0018 Epoch 49/100 30/30 [==============================] - 25s 843ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0018 Epoch 50/100 30/30 [==============================] - 26s 852ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 51/100 30/30 [==============================] - 26s 870ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 52/100 30/30 [==============================] - 25s 848ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 53/100 30/30 [==============================] - 26s 851ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 54/100 30/30 [==============================] - 25s 839ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 55/100 30/30 [==============================] - 26s 850ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 56/100 30/30 [==============================] - 25s 843ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 57/100 30/30 [==============================] - 26s 850ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 58/100 30/30 [==============================] - 26s 859ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 59/100 30/30 [==============================] - 26s 848ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 60/100 30/30 [==============================] - 25s 839ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 61/100 30/30 [==============================] - 25s 839ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 62/100 30/30 [==============================] - 16s 522ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 63/100 30/30 [==============================] - 16s 526ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 64/100 30/30 [==============================] - 16s 523ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 65/100 30/30 [==============================] - 16s 533ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 66/100 30/30 [==============================] - 16s 525ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 67/100 30/30 [==============================] - 16s 523ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 68/100 30/30 [==============================] - 16s 521ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 69/100 30/30 [==============================] - 16s 524ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 70/100 30/30 [==============================] - 16s 524ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 71/100 30/30 [==============================] - 16s 527ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 72/100 30/30 [==============================] - 16s 531ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 73/100 30/30 [==============================] - 16s 531ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 74/100 30/30 [==============================] - 16s 527ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 75/100 30/30 [==============================] - 16s 526ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 76/100 30/30 [==============================] - 16s 523ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 77/100 30/30 [==============================] - 16s 523ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 78/100 30/30 [==============================] - 16s 534ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 79/100 30/30 [==============================] - 16s 528ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0018 Epoch 80/100 30/30 [==============================] - 16s 530ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0321 - l2_xdx_activation_loss: 0.0018 Epoch 81/100 30/30 [==============================] - 16s 538ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0321 - l2_xdx_activation_loss: 0.0018 Epoch 82/100 30/30 [==============================] - 16s 533ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0321 - l2_xdx_activation_loss: 0.0018 Epoch 83/100 30/30 [==============================] - 16s 528ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0321 - l2_xdx_activation_loss: 0.0018 Epoch 84/100 30/30 [==============================] - 16s 536ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0321 - l2_xdx_activation_loss: 0.0018 Epoch 85/100 30/30 [==============================] - 16s 530ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0321 - l2_xdx_activation_loss: 0.0018 Epoch 86/100 30/30 [==============================] - 16s 529ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0321 - l2_xdx_activation_loss: 0.0018 Epoch 87/100 30/30 [==============================] - 16s 521ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0321 - l2_xdx_activation_loss: 0.0018 Epoch 88/100 30/30 [==============================] - 16s 528ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0321 - l2_xdx_activation_loss: 0.0018 Epoch 89/100 30/30 [==============================] - 16s 532ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0321 - l2_xdx_activation_loss: 0.0018 Epoch 90/100 30/30 [==============================] - 16s 539ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0321 - l2_xdx_activation_loss: 0.0018 Epoch 91/100 30/30 [==============================] - 16s 528ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0321 - l2_xdx_activation_loss: 0.0018 Epoch 92/100 30/30 [==============================] - 16s 526ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0321 - l2_xdx_activation_loss: 0.0018 Epoch 93/100 30/30 [==============================] - 16s 523ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0321 - l2_xdx_activation_loss: 0.0018 Epoch 94/100 30/30 [==============================] - 16s 519ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0321 - l2_xdx_activation_loss: 0.0018 Epoch 95/100 30/30 [==============================] - 16s 524ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0321 - l2_xdx_activation_loss: 0.0018 Epoch 96/100 30/30 [==============================] - 16s 518ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0321 - l2_xdx_activation_loss: 0.0018 Epoch 97/100 30/30 [==============================] - 16s 520ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0321 - l2_xdx_activation_loss: 0.0018 Epoch 98/100 30/30 [==============================] - 16s 519ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0321 - l2_xdx_activation_loss: 0.0018 Epoch 99/100 30/30 [==============================] - 16s 515ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0321 - l2_xdx_activation_loss: 0.0018 Epoch 100/100 30/30 [==============================] - 16s 522ms/step - loss: 0.0591 - position_loss: 0.0227 - gru_regularizer_loss: 0.0321 - l2_xdx_activation_loss: 0.0018
# train in a FF
ff_coef = 10 # CWFF
position_loss_FF1 = train_net(nn, ff_coef=ff_coef)
# make some plots
plt.plot(position_loss_FF1)
plt.show()
FF1w = window_average(position_loss_FF1)
plt.plot(FF1w)
plt.show()
# test network in a NF in the centre-out reaching task
ff_coef = 0 # NF
test_net(nn, ff_coef=ff_coef)
# test network in a NF in the centre-out reaching task
ff_coef = 10 # CWFF
test_net(nn, ff_coef=ff_coef)
Epoch 1/100 30/30 [==============================] - 17s 568ms/step - loss: 0.0706 - position_loss: 0.0267 - gru_regularizer_loss: 0.0389 - l2_xdx_activation_loss: 0.0024 Epoch 2/100 30/30 [==============================] - 17s 564ms/step - loss: 0.0683 - position_loss: 0.0260 - gru_regularizer_loss: 0.0371 - l2_xdx_activation_loss: 0.0022 Epoch 3/100 30/30 [==============================] - 17s 562ms/step - loss: 0.0673 - position_loss: 0.0256 - gru_regularizer_loss: 0.0366 - l2_xdx_activation_loss: 0.0022 Epoch 4/100 30/30 [==============================] - 17s 563ms/step - loss: 0.0667 - position_loss: 0.0254 - gru_regularizer_loss: 0.0364 - l2_xdx_activation_loss: 0.0021 Epoch 5/100 30/30 [==============================] - 17s 566ms/step - loss: 0.0662 - position_loss: 0.0252 - gru_regularizer_loss: 0.0363 - l2_xdx_activation_loss: 0.0021 Epoch 6/100 30/30 [==============================] - 17s 566ms/step - loss: 0.0659 - position_loss: 0.0251 - gru_regularizer_loss: 0.0362 - l2_xdx_activation_loss: 0.0021 Epoch 7/100 30/30 [==============================] - 17s 563ms/step - loss: 0.0656 - position_loss: 0.0250 - gru_regularizer_loss: 0.0362 - l2_xdx_activation_loss: 0.0021 Epoch 8/100 30/30 [==============================] - 17s 569ms/step - loss: 0.0654 - position_loss: 0.0249 - gru_regularizer_loss: 0.0362 - l2_xdx_activation_loss: 0.0021 Epoch 9/100 30/30 [==============================] - 17s 564ms/step - loss: 0.0652 - position_loss: 0.0248 - gru_regularizer_loss: 0.0362 - l2_xdx_activation_loss: 0.0021 Epoch 10/100 30/30 [==============================] - 17s 570ms/step - loss: 0.0651 - position_loss: 0.0248 - gru_regularizer_loss: 0.0362 - l2_xdx_activation_loss: 0.0021 Epoch 11/100 30/30 [==============================] - 17s 567ms/step - loss: 0.0649 - position_loss: 0.0247 - gru_regularizer_loss: 0.0362 - l2_xdx_activation_loss: 0.0021 Epoch 12/100 30/30 [==============================] - 17s 570ms/step - loss: 0.0648 - position_loss: 0.0246 - gru_regularizer_loss: 0.0362 - l2_xdx_activation_loss: 0.0021 Epoch 13/100 30/30 [==============================] - 27s 896ms/step - loss: 0.0647 - position_loss: 0.0246 - gru_regularizer_loss: 0.0362 - l2_xdx_activation_loss: 0.0021 Epoch 14/100 30/30 [==============================] - 17s 574ms/step - loss: 0.0646 - position_loss: 0.0245 - gru_regularizer_loss: 0.0362 - l2_xdx_activation_loss: 0.0021 Epoch 15/100 30/30 [==============================] - 17s 581ms/step - loss: 0.0645 - position_loss: 0.0245 - gru_regularizer_loss: 0.0363 - l2_xdx_activation_loss: 0.0021 Epoch 16/100 30/30 [==============================] - 17s 571ms/step - loss: 0.0644 - position_loss: 0.0244 - gru_regularizer_loss: 0.0363 - l2_xdx_activation_loss: 0.0021 Epoch 17/100 30/30 [==============================] - 17s 575ms/step - loss: 0.0643 - position_loss: 0.0244 - gru_regularizer_loss: 0.0363 - l2_xdx_activation_loss: 0.0021 Epoch 18/100 30/30 [==============================] - 17s 570ms/step - loss: 0.0642 - position_loss: 0.0243 - gru_regularizer_loss: 0.0363 - l2_xdx_activation_loss: 0.0021 Epoch 19/100 30/30 [==============================] - 17s 573ms/step - loss: 0.0642 - position_loss: 0.0243 - gru_regularizer_loss: 0.0363 - l2_xdx_activation_loss: 0.0021 Epoch 20/100 30/30 [==============================] - 17s 564ms/step - loss: 0.0641 - position_loss: 0.0242 - gru_regularizer_loss: 0.0363 - l2_xdx_activation_loss: 0.0021 Epoch 21/100 30/30 [==============================] - 17s 567ms/step - loss: 0.0640 - position_loss: 0.0242 - gru_regularizer_loss: 0.0363 - l2_xdx_activation_loss: 0.0021 Epoch 22/100 30/30 [==============================] - 17s 574ms/step - loss: 0.0639 - position_loss: 0.0242 - gru_regularizer_loss: 0.0364 - l2_xdx_activation_loss: 0.0021 Epoch 23/100 30/30 [==============================] - 17s 566ms/step - loss: 0.0639 - position_loss: 0.0241 - gru_regularizer_loss: 0.0364 - l2_xdx_activation_loss: 0.0021 Epoch 24/100 30/30 [==============================] - 17s 565ms/step - loss: 0.0638 - position_loss: 0.0241 - gru_regularizer_loss: 0.0364 - l2_xdx_activation_loss: 0.0021 Epoch 25/100 30/30 [==============================] - 17s 563ms/step - loss: 0.0638 - position_loss: 0.0241 - gru_regularizer_loss: 0.0364 - l2_xdx_activation_loss: 0.0021 Epoch 26/100 30/30 [==============================] - 17s 573ms/step - loss: 0.0637 - position_loss: 0.0240 - gru_regularizer_loss: 0.0364 - l2_xdx_activation_loss: 0.0021 Epoch 27/100 30/30 [==============================] - 17s 571ms/step - loss: 0.0636 - position_loss: 0.0240 - gru_regularizer_loss: 0.0364 - l2_xdx_activation_loss: 0.0021 Epoch 28/100 30/30 [==============================] - 17s 566ms/step - loss: 0.0636 - position_loss: 0.0240 - gru_regularizer_loss: 0.0364 - l2_xdx_activation_loss: 0.0021 Epoch 29/100 30/30 [==============================] - 17s 574ms/step - loss: 0.0635 - position_loss: 0.0240 - gru_regularizer_loss: 0.0364 - l2_xdx_activation_loss: 0.0021 Epoch 30/100 30/30 [==============================] - 17s 575ms/step - loss: 0.0634 - position_loss: 0.0239 - gru_regularizer_loss: 0.0365 - l2_xdx_activation_loss: 0.0021 Epoch 31/100 30/30 [==============================] - 17s 567ms/step - loss: 0.0635 - position_loss: 0.0239 - gru_regularizer_loss: 0.0364 - l2_xdx_activation_loss: 0.0021 Epoch 32/100 30/30 [==============================] - 17s 566ms/step - loss: 0.0634 - position_loss: 0.0239 - gru_regularizer_loss: 0.0364 - l2_xdx_activation_loss: 0.0021 Epoch 33/100 30/30 [==============================] - 17s 577ms/step - loss: 0.0633 - position_loss: 0.0238 - gru_regularizer_loss: 0.0365 - l2_xdx_activation_loss: 0.0021 Epoch 34/100 30/30 [==============================] - 17s 576ms/step - loss: 0.0632 - position_loss: 0.0238 - gru_regularizer_loss: 0.0365 - l2_xdx_activation_loss: 0.0021 Epoch 35/100 30/30 [==============================] - 17s 574ms/step - loss: 0.0632 - position_loss: 0.0238 - gru_regularizer_loss: 0.0365 - l2_xdx_activation_loss: 0.0021 Epoch 36/100 30/30 [==============================] - 17s 570ms/step - loss: 0.0632 - position_loss: 0.0238 - gru_regularizer_loss: 0.0365 - l2_xdx_activation_loss: 0.0021 Epoch 37/100 30/30 [==============================] - 17s 574ms/step - loss: 0.0631 - position_loss: 0.0237 - gru_regularizer_loss: 0.0365 - l2_xdx_activation_loss: 0.0021 Epoch 38/100 30/30 [==============================] - 17s 567ms/step - loss: 0.0631 - position_loss: 0.0237 - gru_regularizer_loss: 0.0366 - l2_xdx_activation_loss: 0.0021 Epoch 39/100 30/30 [==============================] - 17s 567ms/step - loss: 0.0630 - position_loss: 0.0237 - gru_regularizer_loss: 0.0366 - l2_xdx_activation_loss: 0.0021 Epoch 40/100 30/30 [==============================] - 17s 580ms/step - loss: 0.0630 - position_loss: 0.0237 - gru_regularizer_loss: 0.0366 - l2_xdx_activation_loss: 0.0021 Epoch 41/100 30/30 [==============================] - 17s 569ms/step - loss: 0.0629 - position_loss: 0.0236 - gru_regularizer_loss: 0.0366 - l2_xdx_activation_loss: 0.0021 Epoch 42/100 30/30 [==============================] - 17s 576ms/step - loss: 0.0629 - position_loss: 0.0236 - gru_regularizer_loss: 0.0366 - l2_xdx_activation_loss: 0.0021 Epoch 43/100 30/30 [==============================] - 17s 571ms/step - loss: 0.0629 - position_loss: 0.0236 - gru_regularizer_loss: 0.0366 - l2_xdx_activation_loss: 0.0021 Epoch 44/100 30/30 [==============================] - 18s 589ms/step - loss: 0.0628 - position_loss: 0.0236 - gru_regularizer_loss: 0.0366 - l2_xdx_activation_loss: 0.0021 Epoch 45/100 30/30 [==============================] - 17s 574ms/step - loss: 0.0629 - position_loss: 0.0236 - gru_regularizer_loss: 0.0366 - l2_xdx_activation_loss: 0.0021 Epoch 46/100 30/30 [==============================] - 17s 572ms/step - loss: 0.0628 - position_loss: 0.0235 - gru_regularizer_loss: 0.0366 - l2_xdx_activation_loss: 0.0021 Epoch 47/100 30/30 [==============================] - 17s 573ms/step - loss: 0.0628 - position_loss: 0.0236 - gru_regularizer_loss: 0.0366 - l2_xdx_activation_loss: 0.0021 Epoch 48/100 30/30 [==============================] - 17s 578ms/step - loss: 0.0627 - position_loss: 0.0235 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 49/100 30/30 [==============================] - 17s 581ms/step - loss: 0.0627 - position_loss: 0.0235 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 50/100 30/30 [==============================] - 17s 579ms/step - loss: 0.0627 - position_loss: 0.0235 - gru_regularizer_loss: 0.0366 - l2_xdx_activation_loss: 0.0021 Epoch 51/100 30/30 [==============================] - 17s 573ms/step - loss: 0.0626 - position_loss: 0.0234 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 52/100 30/30 [==============================] - 17s 575ms/step - loss: 0.0626 - position_loss: 0.0234 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 53/100 30/30 [==============================] - 17s 571ms/step - loss: 0.0625 - position_loss: 0.0234 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 54/100 30/30 [==============================] - 17s 575ms/step - loss: 0.0625 - position_loss: 0.0234 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 55/100 30/30 [==============================] - 17s 573ms/step - loss: 0.0625 - position_loss: 0.0234 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 56/100 30/30 [==============================] - 17s 573ms/step - loss: 0.0624 - position_loss: 0.0234 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 57/100 30/30 [==============================] - 17s 575ms/step - loss: 0.0624 - position_loss: 0.0234 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 58/100 30/30 [==============================] - 17s 581ms/step - loss: 0.0624 - position_loss: 0.0234 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 59/100 30/30 [==============================] - 17s 577ms/step - loss: 0.0624 - position_loss: 0.0234 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 60/100 30/30 [==============================] - 17s 576ms/step - loss: 0.0624 - position_loss: 0.0233 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 61/100 30/30 [==============================] - 18s 592ms/step - loss: 0.0623 - position_loss: 0.0233 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 62/100 30/30 [==============================] - 17s 578ms/step - loss: 0.0623 - position_loss: 0.0233 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 63/100 30/30 [==============================] - 17s 579ms/step - loss: 0.0623 - position_loss: 0.0233 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 64/100 30/30 [==============================] - 17s 570ms/step - loss: 0.0623 - position_loss: 0.0233 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 65/100 30/30 [==============================] - 17s 578ms/step - loss: 0.0622 - position_loss: 0.0233 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 66/100 30/30 [==============================] - 17s 576ms/step - loss: 0.0622 - position_loss: 0.0233 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 67/100 30/30 [==============================] - 17s 579ms/step - loss: 0.0622 - position_loss: 0.0233 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 68/100 30/30 [==============================] - 17s 578ms/step - loss: 0.0621 - position_loss: 0.0232 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 69/100 30/30 [==============================] - 18s 586ms/step - loss: 0.0621 - position_loss: 0.0232 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 70/100 30/30 [==============================] - 17s 577ms/step - loss: 0.0621 - position_loss: 0.0232 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 71/100 30/30 [==============================] - 18s 583ms/step - loss: 0.0621 - position_loss: 0.0232 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 72/100 30/30 [==============================] - 17s 575ms/step - loss: 0.0621 - position_loss: 0.0232 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 73/100 30/30 [==============================] - 17s 574ms/step - loss: 0.0623 - position_loss: 0.0233 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 74/100 30/30 [==============================] - 17s 570ms/step - loss: 0.0621 - position_loss: 0.0232 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 75/100 30/30 [==============================] - 17s 574ms/step - loss: 0.0620 - position_loss: 0.0232 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 76/100 30/30 [==============================] - 17s 572ms/step - loss: 0.0620 - position_loss: 0.0232 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 77/100 30/30 [==============================] - 17s 577ms/step - loss: 0.0620 - position_loss: 0.0232 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 78/100 30/30 [==============================] - 17s 569ms/step - loss: 0.0620 - position_loss: 0.0232 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 79/100 30/30 [==============================] - 17s 576ms/step - loss: 0.0620 - position_loss: 0.0232 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 80/100 30/30 [==============================] - 17s 578ms/step - loss: 0.0620 - position_loss: 0.0232 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 81/100 30/30 [==============================] - 17s 578ms/step - loss: 0.0620 - position_loss: 0.0232 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 82/100 30/30 [==============================] - 17s 581ms/step - loss: 0.0619 - position_loss: 0.0231 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 83/100 30/30 [==============================] - 17s 579ms/step - loss: 0.0619 - position_loss: 0.0231 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 84/100 30/30 [==============================] - 17s 573ms/step - loss: 0.0619 - position_loss: 0.0231 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 85/100 30/30 [==============================] - 18s 585ms/step - loss: 0.0619 - position_loss: 0.0231 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 86/100 30/30 [==============================] - 17s 572ms/step - loss: 0.0619 - position_loss: 0.0231 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 87/100 30/30 [==============================] - 17s 577ms/step - loss: 0.0618 - position_loss: 0.0231 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 88/100 30/30 [==============================] - 17s 572ms/step - loss: 0.0618 - position_loss: 0.0231 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 89/100 30/30 [==============================] - 17s 567ms/step - loss: 0.0618 - position_loss: 0.0231 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 90/100 30/30 [==============================] - 17s 570ms/step - loss: 0.0618 - position_loss: 0.0231 - gru_regularizer_loss: 0.0367 - l2_xdx_activation_loss: 0.0021 Epoch 91/100 30/30 [==============================] - 17s 567ms/step - loss: 0.0618 - position_loss: 0.0231 - gru_regularizer_loss: 0.0366 - l2_xdx_activation_loss: 0.0021 Epoch 92/100 30/30 [==============================] - 17s 574ms/step - loss: 0.0618 - position_loss: 0.0231 - gru_regularizer_loss: 0.0366 - l2_xdx_activation_loss: 0.0021 Epoch 93/100 30/30 [==============================] - 17s 570ms/step - loss: 0.0618 - position_loss: 0.0231 - gru_regularizer_loss: 0.0366 - l2_xdx_activation_loss: 0.0021 Epoch 94/100 30/30 [==============================] - 17s 574ms/step - loss: 0.0618 - position_loss: 0.0231 - gru_regularizer_loss: 0.0366 - l2_xdx_activation_loss: 0.0021 Epoch 95/100 30/30 [==============================] - 17s 569ms/step - loss: 0.0617 - position_loss: 0.0231 - gru_regularizer_loss: 0.0366 - l2_xdx_activation_loss: 0.0021 Epoch 96/100 30/30 [==============================] - 17s 573ms/step - loss: 0.0617 - position_loss: 0.0231 - gru_regularizer_loss: 0.0366 - l2_xdx_activation_loss: 0.0021 Epoch 97/100 30/30 [==============================] - 17s 577ms/step - loss: 0.0617 - position_loss: 0.0231 - gru_regularizer_loss: 0.0366 - l2_xdx_activation_loss: 0.0021 Epoch 98/100 30/30 [==============================] - 17s 576ms/step - loss: 0.0617 - position_loss: 0.0231 - gru_regularizer_loss: 0.0366 - l2_xdx_activation_loss: 0.0021 Epoch 99/100 30/30 [==============================] - 17s 581ms/step - loss: 0.0617 - position_loss: 0.0230 - gru_regularizer_loss: 0.0366 - l2_xdx_activation_loss: 0.0021 Epoch 100/100 30/30 [==============================] - 17s 577ms/step - loss: 0.0617 - position_loss: 0.0231 - gru_regularizer_loss: 0.0366 - l2_xdx_activation_loss: 0.0021
# train in a NF2
ff_coef = 0 # NF
position_loss_NF2 = train_net(nn, ff_coef=ff_coef,n_epochs=100)
# make some plots
plt.plot(position_loss_NF2)
plt.show()
NF2w = window_average(position_loss_NF2, 10)
plt.plot(NF2w)
plt.show()
# test network in a NF in the centre-out reaching task
ff_coef = 0 # NF
test_net(nn, ff_coef=ff_coef)
# test network in a NF in the centre-out reaching task
ff_coef = 10 # CWFF
test_net(nn, ff_coef=ff_coef)
Epoch 1/100 30/30 [==============================] - 15s 489ms/step - loss: 0.0735 - position_loss: 0.0284 - gru_regularizer_loss: 0.0415 - l2_xdx_activation_loss: 0.0022 Epoch 2/100 30/30 [==============================] - 14s 483ms/step - loss: 0.0674 - position_loss: 0.0261 - gru_regularizer_loss: 0.0373 - l2_xdx_activation_loss: 0.0020 Epoch 3/100 30/30 [==============================] - 14s 479ms/step - loss: 0.0649 - position_loss: 0.0250 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0020 Epoch 4/100 30/30 [==============================] - 15s 486ms/step - loss: 0.0637 - position_loss: 0.0245 - gru_regularizer_loss: 0.0349 - l2_xdx_activation_loss: 0.0020 Epoch 5/100 30/30 [==============================] - 14s 480ms/step - loss: 0.0629 - position_loss: 0.0242 - gru_regularizer_loss: 0.0344 - l2_xdx_activation_loss: 0.0019 Epoch 6/100 30/30 [==============================] - 15s 487ms/step - loss: 0.0625 - position_loss: 0.0240 - gru_regularizer_loss: 0.0340 - l2_xdx_activation_loss: 0.0019 Epoch 7/100 30/30 [==============================] - 14s 483ms/step - loss: 0.0621 - position_loss: 0.0238 - gru_regularizer_loss: 0.0338 - l2_xdx_activation_loss: 0.0019 Epoch 8/100 30/30 [==============================] - 15s 489ms/step - loss: 0.0618 - position_loss: 0.0237 - gru_regularizer_loss: 0.0336 - l2_xdx_activation_loss: 0.0019 Epoch 9/100 30/30 [==============================] - 14s 481ms/step - loss: 0.0616 - position_loss: 0.0236 - gru_regularizer_loss: 0.0335 - l2_xdx_activation_loss: 0.0019 Epoch 10/100 30/30 [==============================] - 14s 483ms/step - loss: 0.0614 - position_loss: 0.0236 - gru_regularizer_loss: 0.0333 - l2_xdx_activation_loss: 0.0019 Epoch 11/100 30/30 [==============================] - 14s 482ms/step - loss: 0.0612 - position_loss: 0.0235 - gru_regularizer_loss: 0.0333 - l2_xdx_activation_loss: 0.0019 Epoch 12/100 30/30 [==============================] - 15s 490ms/step - loss: 0.0611 - position_loss: 0.0234 - gru_regularizer_loss: 0.0332 - l2_xdx_activation_loss: 0.0019 Epoch 13/100 30/30 [==============================] - 14s 482ms/step - loss: 0.0610 - position_loss: 0.0233 - gru_regularizer_loss: 0.0332 - l2_xdx_activation_loss: 0.0019 Epoch 14/100 30/30 [==============================] - 14s 483ms/step - loss: 0.0609 - position_loss: 0.0233 - gru_regularizer_loss: 0.0331 - l2_xdx_activation_loss: 0.0019 Epoch 15/100 30/30 [==============================] - 14s 483ms/step - loss: 0.0608 - position_loss: 0.0232 - gru_regularizer_loss: 0.0331 - l2_xdx_activation_loss: 0.0019 Epoch 16/100 30/30 [==============================] - 15s 484ms/step - loss: 0.0607 - position_loss: 0.0232 - gru_regularizer_loss: 0.0330 - l2_xdx_activation_loss: 0.0019 Epoch 17/100 30/30 [==============================] - 15s 487ms/step - loss: 0.0606 - position_loss: 0.0232 - gru_regularizer_loss: 0.0330 - l2_xdx_activation_loss: 0.0019 Epoch 18/100 30/30 [==============================] - 15s 488ms/step - loss: 0.0605 - position_loss: 0.0231 - gru_regularizer_loss: 0.0329 - l2_xdx_activation_loss: 0.0019 Epoch 19/100 30/30 [==============================] - 15s 492ms/step - loss: 0.0605 - position_loss: 0.0231 - gru_regularizer_loss: 0.0329 - l2_xdx_activation_loss: 0.0019 Epoch 20/100 30/30 [==============================] - 15s 489ms/step - loss: 0.0604 - position_loss: 0.0231 - gru_regularizer_loss: 0.0328 - l2_xdx_activation_loss: 0.0019 Epoch 21/100 30/30 [==============================] - 15s 495ms/step - loss: 0.0604 - position_loss: 0.0231 - gru_regularizer_loss: 0.0328 - l2_xdx_activation_loss: 0.0019 Epoch 22/100 30/30 [==============================] - 15s 485ms/step - loss: 0.0603 - position_loss: 0.0230 - gru_regularizer_loss: 0.0328 - l2_xdx_activation_loss: 0.0019 Epoch 23/100 30/30 [==============================] - 15s 487ms/step - loss: 0.0603 - position_loss: 0.0230 - gru_regularizer_loss: 0.0327 - l2_xdx_activation_loss: 0.0019 Epoch 24/100 30/30 [==============================] - 15s 494ms/step - loss: 0.0602 - position_loss: 0.0230 - gru_regularizer_loss: 0.0327 - l2_xdx_activation_loss: 0.0019 Epoch 25/100 30/30 [==============================] - 15s 493ms/step - loss: 0.0602 - position_loss: 0.0230 - gru_regularizer_loss: 0.0327 - l2_xdx_activation_loss: 0.0019 Epoch 26/100 30/30 [==============================] - 15s 492ms/step - loss: 0.0601 - position_loss: 0.0230 - gru_regularizer_loss: 0.0326 - l2_xdx_activation_loss: 0.0019 Epoch 27/100 30/30 [==============================] - 15s 493ms/step - loss: 0.0601 - position_loss: 0.0230 - gru_regularizer_loss: 0.0326 - l2_xdx_activation_loss: 0.0019 Epoch 28/100 30/30 [==============================] - 15s 493ms/step - loss: 0.0601 - position_loss: 0.0230 - gru_regularizer_loss: 0.0326 - l2_xdx_activation_loss: 0.0019 Epoch 29/100 30/30 [==============================] - 15s 493ms/step - loss: 0.0600 - position_loss: 0.0229 - gru_regularizer_loss: 0.0325 - l2_xdx_activation_loss: 0.0019 Epoch 30/100 30/30 [==============================] - 15s 498ms/step - loss: 0.0600 - position_loss: 0.0229 - gru_regularizer_loss: 0.0325 - l2_xdx_activation_loss: 0.0019 Epoch 31/100 30/30 [==============================] - 15s 492ms/step - loss: 0.0600 - position_loss: 0.0229 - gru_regularizer_loss: 0.0325 - l2_xdx_activation_loss: 0.0019 Epoch 32/100 30/30 [==============================] - 15s 493ms/step - loss: 0.0599 - position_loss: 0.0229 - gru_regularizer_loss: 0.0325 - l2_xdx_activation_loss: 0.0019 Epoch 33/100 30/30 [==============================] - 15s 490ms/step - loss: 0.0599 - position_loss: 0.0229 - gru_regularizer_loss: 0.0324 - l2_xdx_activation_loss: 0.0019 Epoch 34/100 30/30 [==============================] - 15s 501ms/step - loss: 0.0599 - position_loss: 0.0229 - gru_regularizer_loss: 0.0324 - l2_xdx_activation_loss: 0.0019 Epoch 35/100 30/30 [==============================] - 15s 493ms/step - loss: 0.0599 - position_loss: 0.0229 - gru_regularizer_loss: 0.0324 - l2_xdx_activation_loss: 0.0019 Epoch 36/100 30/30 [==============================] - 15s 500ms/step - loss: 0.0598 - position_loss: 0.0229 - gru_regularizer_loss: 0.0324 - l2_xdx_activation_loss: 0.0019 Epoch 37/100 30/30 [==============================] - 15s 496ms/step - loss: 0.0598 - position_loss: 0.0229 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0019 Epoch 38/100 30/30 [==============================] - 15s 492ms/step - loss: 0.0598 - position_loss: 0.0229 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0019 Epoch 39/100 30/30 [==============================] - 15s 489ms/step - loss: 0.0598 - position_loss: 0.0229 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0019 Epoch 40/100 30/30 [==============================] - 15s 499ms/step - loss: 0.0598 - position_loss: 0.0229 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0019 Epoch 41/100 30/30 [==============================] - 15s 498ms/step - loss: 0.0598 - position_loss: 0.0229 - gru_regularizer_loss: 0.0323 - l2_xdx_activation_loss: 0.0019 Epoch 42/100 30/30 [==============================] - 15s 500ms/step - loss: 0.0597 - position_loss: 0.0229 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0019 Epoch 43/100 30/30 [==============================] - 15s 489ms/step - loss: 0.0597 - position_loss: 0.0229 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0019 Epoch 44/100 30/30 [==============================] - 15s 490ms/step - loss: 0.0597 - position_loss: 0.0229 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0019 Epoch 45/100 30/30 [==============================] - 15s 491ms/step - loss: 0.0597 - position_loss: 0.0229 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0019 Epoch 46/100 30/30 [==============================] - 15s 495ms/step - loss: 0.0597 - position_loss: 0.0228 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0019 Epoch 47/100 30/30 [==============================] - 15s 492ms/step - loss: 0.0597 - position_loss: 0.0228 - gru_regularizer_loss: 0.0322 - l2_xdx_activation_loss: 0.0019 Epoch 48/100 30/30 [==============================] - 15s 487ms/step - loss: 0.0597 - position_loss: 0.0228 - gru_regularizer_loss: 0.0321 - l2_xdx_activation_loss: 0.0019 Epoch 49/100 30/30 [==============================] - 15s 499ms/step - loss: 0.0596 - position_loss: 0.0228 - gru_regularizer_loss: 0.0321 - l2_xdx_activation_loss: 0.0019 Epoch 50/100 30/30 [==============================] - 15s 493ms/step - loss: 0.0596 - position_loss: 0.0228 - gru_regularizer_loss: 0.0321 - l2_xdx_activation_loss: 0.0019 Epoch 51/100 30/30 [==============================] - 15s 494ms/step - loss: 0.0596 - position_loss: 0.0228 - gru_regularizer_loss: 0.0321 - l2_xdx_activation_loss: 0.0019 Epoch 52/100 30/30 [==============================] - 15s 488ms/step - loss: 0.0596 - position_loss: 0.0228 - gru_regularizer_loss: 0.0321 - l2_xdx_activation_loss: 0.0019 Epoch 53/100 30/30 [==============================] - 15s 490ms/step - loss: 0.0596 - position_loss: 0.0228 - gru_regularizer_loss: 0.0321 - l2_xdx_activation_loss: 0.0019 Epoch 54/100 30/30 [==============================] - 15s 491ms/step - loss: 0.0596 - position_loss: 0.0228 - gru_regularizer_loss: 0.0321 - l2_xdx_activation_loss: 0.0019 Epoch 55/100 30/30 [==============================] - 15s 494ms/step - loss: 0.0596 - position_loss: 0.0228 - gru_regularizer_loss: 0.0320 - l2_xdx_activation_loss: 0.0019 Epoch 56/100 30/30 [==============================] - 15s 488ms/step - loss: 0.0596 - position_loss: 0.0228 - gru_regularizer_loss: 0.0321 - l2_xdx_activation_loss: 0.0019 Epoch 57/100 30/30 [==============================] - 15s 493ms/step - loss: 0.0596 - position_loss: 0.0228 - gru_regularizer_loss: 0.0320 - l2_xdx_activation_loss: 0.0019 Epoch 58/100 30/30 [==============================] - 15s 492ms/step - loss: 0.0596 - position_loss: 0.0228 - gru_regularizer_loss: 0.0320 - l2_xdx_activation_loss: 0.0019 Epoch 59/100 30/30 [==============================] - 15s 490ms/step - loss: 0.0595 - position_loss: 0.0228 - gru_regularizer_loss: 0.0320 - l2_xdx_activation_loss: 0.0019 Epoch 60/100 30/30 [==============================] - 15s 497ms/step - loss: 0.0595 - position_loss: 0.0228 - gru_regularizer_loss: 0.0320 - l2_xdx_activation_loss: 0.0019 Epoch 61/100 30/30 [==============================] - 15s 501ms/step - loss: 0.0595 - position_loss: 0.0228 - gru_regularizer_loss: 0.0320 - l2_xdx_activation_loss: 0.0019 Epoch 62/100 30/30 [==============================] - 15s 499ms/step - loss: 0.0595 - position_loss: 0.0228 - gru_regularizer_loss: 0.0320 - l2_xdx_activation_loss: 0.0019 Epoch 63/100 30/30 [==============================] - 15s 494ms/step - loss: 0.0595 - position_loss: 0.0228 - gru_regularizer_loss: 0.0320 - l2_xdx_activation_loss: 0.0019 Epoch 64/100 30/30 [==============================] - 15s 493ms/step - loss: 0.0595 - position_loss: 0.0228 - gru_regularizer_loss: 0.0320 - l2_xdx_activation_loss: 0.0019 Epoch 65/100 30/30 [==============================] - 15s 493ms/step - loss: 0.0595 - position_loss: 0.0228 - gru_regularizer_loss: 0.0320 - l2_xdx_activation_loss: 0.0019 Epoch 66/100 30/30 [==============================] - 15s 487ms/step - loss: 0.0595 - position_loss: 0.0228 - gru_regularizer_loss: 0.0320 - l2_xdx_activation_loss: 0.0019 Epoch 67/100 30/30 [==============================] - 15s 496ms/step - loss: 0.0595 - position_loss: 0.0228 - gru_regularizer_loss: 0.0319 - l2_xdx_activation_loss: 0.0019 Epoch 68/100 30/30 [==============================] - 15s 498ms/step - loss: 0.0595 - position_loss: 0.0228 - gru_regularizer_loss: 0.0319 - l2_xdx_activation_loss: 0.0019 Epoch 69/100 30/30 [==============================] - 15s 493ms/step - loss: 0.0595 - position_loss: 0.0228 - gru_regularizer_loss: 0.0319 - l2_xdx_activation_loss: 0.0019 Epoch 70/100 30/30 [==============================] - 15s 493ms/step - loss: 0.0595 - position_loss: 0.0228 - gru_regularizer_loss: 0.0319 - l2_xdx_activation_loss: 0.0019 Epoch 71/100 30/30 [==============================] - 15s 502ms/step - loss: 0.0594 - position_loss: 0.0228 - gru_regularizer_loss: 0.0319 - l2_xdx_activation_loss: 0.0019 Epoch 72/100 30/30 [==============================] - 15s 493ms/step - loss: 0.0595 - position_loss: 0.0228 - gru_regularizer_loss: 0.0319 - l2_xdx_activation_loss: 0.0018 Epoch 73/100 30/30 [==============================] - 15s 500ms/step - loss: 0.0594 - position_loss: 0.0228 - gru_regularizer_loss: 0.0319 - l2_xdx_activation_loss: 0.0019 Epoch 74/100 30/30 [==============================] - 15s 495ms/step - loss: 0.0594 - position_loss: 0.0228 - gru_regularizer_loss: 0.0319 - l2_xdx_activation_loss: 0.0018 Epoch 75/100 30/30 [==============================] - 15s 494ms/step - loss: 0.0594 - position_loss: 0.0228 - gru_regularizer_loss: 0.0319 - l2_xdx_activation_loss: 0.0018 Epoch 76/100 30/30 [==============================] - 15s 491ms/step - loss: 0.0594 - position_loss: 0.0228 - gru_regularizer_loss: 0.0319 - l2_xdx_activation_loss: 0.0018 Epoch 77/100 30/30 [==============================] - 15s 494ms/step - loss: 0.0594 - position_loss: 0.0228 - gru_regularizer_loss: 0.0319 - l2_xdx_activation_loss: 0.0018 Epoch 78/100 30/30 [==============================] - 15s 497ms/step - loss: 0.0594 - position_loss: 0.0228 - gru_regularizer_loss: 0.0319 - l2_xdx_activation_loss: 0.0018 Epoch 79/100 30/30 [==============================] - 15s 492ms/step - loss: 0.0594 - position_loss: 0.0228 - gru_regularizer_loss: 0.0319 - l2_xdx_activation_loss: 0.0018 Epoch 80/100 30/30 [==============================] - 15s 499ms/step - loss: 0.0594 - position_loss: 0.0228 - gru_regularizer_loss: 0.0318 - l2_xdx_activation_loss: 0.0018 Epoch 81/100 30/30 [==============================] - 15s 499ms/step - loss: 0.0594 - position_loss: 0.0228 - gru_regularizer_loss: 0.0318 - l2_xdx_activation_loss: 0.0018 Epoch 82/100 30/30 [==============================] - 15s 500ms/step - loss: 0.0594 - position_loss: 0.0228 - gru_regularizer_loss: 0.0318 - l2_xdx_activation_loss: 0.0018 Epoch 83/100 30/30 [==============================] - 15s 497ms/step - loss: 0.0594 - position_loss: 0.0228 - gru_regularizer_loss: 0.0318 - l2_xdx_activation_loss: 0.0018 Epoch 84/100 30/30 [==============================] - 15s 495ms/step - loss: 0.0594 - position_loss: 0.0228 - gru_regularizer_loss: 0.0318 - l2_xdx_activation_loss: 0.0018 Epoch 85/100 30/30 [==============================] - 15s 508ms/step - loss: 0.0594 - position_loss: 0.0228 - gru_regularizer_loss: 0.0318 - l2_xdx_activation_loss: 0.0018 Epoch 86/100 30/30 [==============================] - 15s 498ms/step - loss: 0.0594 - position_loss: 0.0228 - gru_regularizer_loss: 0.0318 - l2_xdx_activation_loss: 0.0018 Epoch 87/100 30/30 [==============================] - 15s 495ms/step - loss: 0.0594 - position_loss: 0.0228 - gru_regularizer_loss: 0.0318 - l2_xdx_activation_loss: 0.0018 Epoch 88/100 30/30 [==============================] - 15s 493ms/step - loss: 0.0594 - position_loss: 0.0228 - gru_regularizer_loss: 0.0318 - l2_xdx_activation_loss: 0.0018 Epoch 89/100 30/30 [==============================] - 15s 495ms/step - loss: 0.0594 - position_loss: 0.0228 - gru_regularizer_loss: 0.0318 - l2_xdx_activation_loss: 0.0018 Epoch 90/100 30/30 [==============================] - 15s 489ms/step - loss: 0.0594 - position_loss: 0.0227 - gru_regularizer_loss: 0.0318 - l2_xdx_activation_loss: 0.0018 Epoch 91/100 30/30 [==============================] - 15s 494ms/step - loss: 0.0594 - position_loss: 0.0227 - gru_regularizer_loss: 0.0318 - l2_xdx_activation_loss: 0.0018 Epoch 92/100 30/30 [==============================] - 15s 493ms/step - loss: 0.0593 - position_loss: 0.0227 - gru_regularizer_loss: 0.0318 - l2_xdx_activation_loss: 0.0018 Epoch 93/100 30/30 [==============================] - 15s 490ms/step - loss: 0.0593 - position_loss: 0.0227 - gru_regularizer_loss: 0.0318 - l2_xdx_activation_loss: 0.0018 Epoch 94/100 30/30 [==============================] - 15s 492ms/step - loss: 0.0593 - position_loss: 0.0227 - gru_regularizer_loss: 0.0318 - l2_xdx_activation_loss: 0.0018 Epoch 95/100 30/30 [==============================] - 15s 494ms/step - loss: 0.0593 - position_loss: 0.0227 - gru_regularizer_loss: 0.0318 - l2_xdx_activation_loss: 0.0018 Epoch 96/100 30/30 [==============================] - 15s 498ms/step - loss: 0.0593 - position_loss: 0.0227 - gru_regularizer_loss: 0.0318 - l2_xdx_activation_loss: 0.0018 Epoch 97/100 30/30 [==============================] - 15s 495ms/step - loss: 0.0593 - position_loss: 0.0227 - gru_regularizer_loss: 0.0318 - l2_xdx_activation_loss: 0.0018 Epoch 98/100 30/30 [==============================] - 15s 500ms/step - loss: 0.0593 - position_loss: 0.0228 - gru_regularizer_loss: 0.0318 - l2_xdx_activation_loss: 0.0018 Epoch 99/100 30/30 [==============================] - 15s 497ms/step - loss: 0.0593 - position_loss: 0.0227 - gru_regularizer_loss: 0.0318 - l2_xdx_activation_loss: 0.0018 Epoch 100/100 30/30 [==============================] - 15s 501ms/step - loss: 0.0593 - position_loss: 0.0227 - gru_regularizer_loss: 0.0318 - l2_xdx_activation_loss: 0.0018
# train in a FF2
ff_coef = 10 # CWFF
position_loss_FF2 = train_net(nn, ff_coef=ff_coef)
# make some plots
plt.plot(position_loss_FF2)
plt.show()
FF2w = window_average(position_loss_FF2)
plt.plot(FF1w)
plt.show()
# test network in a NF in the centre-out reaching task
ff_coef = 0 # NF
test_net(nn, ff_coef=ff_coef)
# test network in a NF in the centre-out reaching task
ff_coef = 10 # CWFF
test_net(nn, ff_coef=ff_coef)
Epoch 1/100 30/30 [==============================] - 15s 496ms/step - loss: 0.0689 - position_loss: 0.0261 - gru_regularizer_loss: 0.0361 - l2_xdx_activation_loss: 0.0023 Epoch 2/100 30/30 [==============================] - 14s 482ms/step - loss: 0.0669 - position_loss: 0.0253 - gru_regularizer_loss: 0.0354 - l2_xdx_activation_loss: 0.0023 Epoch 3/100 30/30 [==============================] - 14s 482ms/step - loss: 0.0658 - position_loss: 0.0249 - gru_regularizer_loss: 0.0350 - l2_xdx_activation_loss: 0.0022 Epoch 4/100 30/30 [==============================] - 14s 480ms/step - loss: 0.0652 - position_loss: 0.0247 - gru_regularizer_loss: 0.0348 - l2_xdx_activation_loss: 0.0022 Epoch 5/100 30/30 [==============================] - 15s 489ms/step - loss: 0.0647 - position_loss: 0.0246 - gru_regularizer_loss: 0.0346 - l2_xdx_activation_loss: 0.0021 Epoch 6/100 30/30 [==============================] - 14s 481ms/step - loss: 0.0643 - position_loss: 0.0244 - gru_regularizer_loss: 0.0346 - l2_xdx_activation_loss: 0.0021 Epoch 7/100 30/30 [==============================] - 15s 485ms/step - loss: 0.0640 - position_loss: 0.0243 - gru_regularizer_loss: 0.0346 - l2_xdx_activation_loss: 0.0021 Epoch 8/100 30/30 [==============================] - 14s 483ms/step - loss: 0.0638 - position_loss: 0.0242 - gru_regularizer_loss: 0.0346 - l2_xdx_activation_loss: 0.0021 Epoch 9/100 30/30 [==============================] - 15s 484ms/step - loss: 0.0636 - position_loss: 0.0242 - gru_regularizer_loss: 0.0346 - l2_xdx_activation_loss: 0.0021 Epoch 10/100 30/30 [==============================] - 14s 482ms/step - loss: 0.0635 - position_loss: 0.0241 - gru_regularizer_loss: 0.0347 - l2_xdx_activation_loss: 0.0021 Epoch 11/100 30/30 [==============================] - 14s 481ms/step - loss: 0.0634 - position_loss: 0.0240 - gru_regularizer_loss: 0.0347 - l2_xdx_activation_loss: 0.0021 Epoch 12/100 30/30 [==============================] - 14s 483ms/step - loss: 0.0632 - position_loss: 0.0240 - gru_regularizer_loss: 0.0348 - l2_xdx_activation_loss: 0.0021 Epoch 13/100 30/30 [==============================] - 14s 481ms/step - loss: 0.0631 - position_loss: 0.0239 - gru_regularizer_loss: 0.0348 - l2_xdx_activation_loss: 0.0021 Epoch 14/100 30/30 [==============================] - 15s 485ms/step - loss: 0.0631 - position_loss: 0.0239 - gru_regularizer_loss: 0.0349 - l2_xdx_activation_loss: 0.0021 Epoch 15/100 30/30 [==============================] - 14s 481ms/step - loss: 0.0630 - position_loss: 0.0238 - gru_regularizer_loss: 0.0349 - l2_xdx_activation_loss: 0.0021 Epoch 16/100 30/30 [==============================] - 15s 488ms/step - loss: 0.0629 - position_loss: 0.0238 - gru_regularizer_loss: 0.0349 - l2_xdx_activation_loss: 0.0021 Epoch 17/100 30/30 [==============================] - 14s 481ms/step - loss: 0.0628 - position_loss: 0.0238 - gru_regularizer_loss: 0.0350 - l2_xdx_activation_loss: 0.0021 Epoch 18/100 30/30 [==============================] - 15s 497ms/step - loss: 0.0627 - position_loss: 0.0237 - gru_regularizer_loss: 0.0350 - l2_xdx_activation_loss: 0.0021 Epoch 19/100 30/30 [==============================] - 14s 483ms/step - loss: 0.0627 - position_loss: 0.0237 - gru_regularizer_loss: 0.0350 - l2_xdx_activation_loss: 0.0021 Epoch 20/100 30/30 [==============================] - 15s 485ms/step - loss: 0.0626 - position_loss: 0.0237 - gru_regularizer_loss: 0.0351 - l2_xdx_activation_loss: 0.0021 Epoch 21/100 30/30 [==============================] - 14s 480ms/step - loss: 0.0626 - position_loss: 0.0236 - gru_regularizer_loss: 0.0351 - l2_xdx_activation_loss: 0.0021 Epoch 22/100 30/30 [==============================] - 14s 483ms/step - loss: 0.0625 - position_loss: 0.0236 - gru_regularizer_loss: 0.0351 - l2_xdx_activation_loss: 0.0021 Epoch 23/100 30/30 [==============================] - 14s 482ms/step - loss: 0.0625 - position_loss: 0.0236 - gru_regularizer_loss: 0.0352 - l2_xdx_activation_loss: 0.0021 Epoch 24/100 30/30 [==============================] - 14s 482ms/step - loss: 0.0624 - position_loss: 0.0235 - gru_regularizer_loss: 0.0352 - l2_xdx_activation_loss: 0.0021 Epoch 25/100 30/30 [==============================] - 15s 484ms/step - loss: 0.0624 - position_loss: 0.0235 - gru_regularizer_loss: 0.0352 - l2_xdx_activation_loss: 0.0021 Epoch 26/100 30/30 [==============================] - 15s 484ms/step - loss: 0.0623 - position_loss: 0.0235 - gru_regularizer_loss: 0.0353 - l2_xdx_activation_loss: 0.0021 Epoch 27/100 30/30 [==============================] - 15s 487ms/step - loss: 0.0623 - position_loss: 0.0234 - gru_regularizer_loss: 0.0353 - l2_xdx_activation_loss: 0.0021 Epoch 28/100 30/30 [==============================] - 14s 483ms/step - loss: 0.0622 - position_loss: 0.0234 - gru_regularizer_loss: 0.0353 - l2_xdx_activation_loss: 0.0021 Epoch 29/100 30/30 [==============================] - 15s 484ms/step - loss: 0.0622 - position_loss: 0.0234 - gru_regularizer_loss: 0.0353 - l2_xdx_activation_loss: 0.0021 Epoch 30/100 30/30 [==============================] - 15s 492ms/step - loss: 0.0622 - position_loss: 0.0234 - gru_regularizer_loss: 0.0353 - l2_xdx_activation_loss: 0.0021 Epoch 31/100 30/30 [==============================] - 15s 484ms/step - loss: 0.0621 - position_loss: 0.0234 - gru_regularizer_loss: 0.0354 - l2_xdx_activation_loss: 0.0021 Epoch 32/100 30/30 [==============================] - 15s 484ms/step - loss: 0.0621 - position_loss: 0.0233 - gru_regularizer_loss: 0.0354 - l2_xdx_activation_loss: 0.0021 Epoch 33/100 30/30 [==============================] - 14s 482ms/step - loss: 0.0620 - position_loss: 0.0233 - gru_regularizer_loss: 0.0354 - l2_xdx_activation_loss: 0.0021 Epoch 34/100 30/30 [==============================] - 15s 485ms/step - loss: 0.0620 - position_loss: 0.0233 - gru_regularizer_loss: 0.0354 - l2_xdx_activation_loss: 0.0021 Epoch 35/100 30/30 [==============================] - 14s 483ms/step - loss: 0.0620 - position_loss: 0.0233 - gru_regularizer_loss: 0.0354 - l2_xdx_activation_loss: 0.0021 Epoch 36/100 30/30 [==============================] - 15s 487ms/step - loss: 0.0619 - position_loss: 0.0233 - gru_regularizer_loss: 0.0355 - l2_xdx_activation_loss: 0.0021 Epoch 37/100 30/30 [==============================] - 15s 486ms/step - loss: 0.0619 - position_loss: 0.0232 - gru_regularizer_loss: 0.0355 - l2_xdx_activation_loss: 0.0021 Epoch 38/100 30/30 [==============================] - 15s 487ms/step - loss: 0.0619 - position_loss: 0.0232 - gru_regularizer_loss: 0.0355 - l2_xdx_activation_loss: 0.0021 Epoch 39/100 30/30 [==============================] - 15s 492ms/step - loss: 0.0618 - position_loss: 0.0232 - gru_regularizer_loss: 0.0355 - l2_xdx_activation_loss: 0.0021 Epoch 40/100 30/30 [==============================] - 15s 486ms/step - loss: 0.0619 - position_loss: 0.0232 - gru_regularizer_loss: 0.0355 - l2_xdx_activation_loss: 0.0021 Epoch 41/100 30/30 [==============================] - 14s 480ms/step - loss: 0.0618 - position_loss: 0.0232 - gru_regularizer_loss: 0.0355 - l2_xdx_activation_loss: 0.0021 Epoch 42/100 30/30 [==============================] - 15s 487ms/step - loss: 0.0617 - position_loss: 0.0231 - gru_regularizer_loss: 0.0355 - l2_xdx_activation_loss: 0.0021 Epoch 43/100 30/30 [==============================] - 15s 491ms/step - loss: 0.0617 - position_loss: 0.0231 - gru_regularizer_loss: 0.0355 - l2_xdx_activation_loss: 0.0021 Epoch 44/100 30/30 [==============================] - 15s 487ms/step - loss: 0.0617 - position_loss: 0.0231 - gru_regularizer_loss: 0.0355 - l2_xdx_activation_loss: 0.0021 Epoch 45/100 30/30 [==============================] - 15s 490ms/step - loss: 0.0617 - position_loss: 0.0231 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 46/100 30/30 [==============================] - 15s 484ms/step - loss: 0.0617 - position_loss: 0.0231 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 47/100 30/30 [==============================] - 15s 489ms/step - loss: 0.0616 - position_loss: 0.0231 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 48/100 30/30 [==============================] - 15s 486ms/step - loss: 0.0616 - position_loss: 0.0231 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 49/100 30/30 [==============================] - 15s 485ms/step - loss: 0.0616 - position_loss: 0.0231 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 50/100 30/30 [==============================] - 15s 488ms/step - loss: 0.0616 - position_loss: 0.0231 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 51/100 30/30 [==============================] - 15s 485ms/step - loss: 0.0616 - position_loss: 0.0231 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 52/100 30/30 [==============================] - 15s 484ms/step - loss: 0.0616 - position_loss: 0.0231 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 53/100 30/30 [==============================] - 15s 491ms/step - loss: 0.0615 - position_loss: 0.0230 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 54/100 30/30 [==============================] - 15s 490ms/step - loss: 0.0615 - position_loss: 0.0230 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 55/100 30/30 [==============================] - 15s 496ms/step - loss: 0.0615 - position_loss: 0.0230 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 56/100 30/30 [==============================] - 14s 483ms/step - loss: 0.0615 - position_loss: 0.0230 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 57/100 30/30 [==============================] - 15s 484ms/step - loss: 0.0615 - position_loss: 0.0230 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 58/100 30/30 [==============================] - 15s 490ms/step - loss: 0.0615 - position_loss: 0.0230 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 59/100 30/30 [==============================] - 15s 493ms/step - loss: 0.0614 - position_loss: 0.0230 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 60/100 30/30 [==============================] - 15s 490ms/step - loss: 0.0614 - position_loss: 0.0230 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 61/100 30/30 [==============================] - 15s 482ms/step - loss: 0.0615 - position_loss: 0.0230 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 62/100 30/30 [==============================] - 15s 488ms/step - loss: 0.0614 - position_loss: 0.0230 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 63/100 30/30 [==============================] - 15s 490ms/step - loss: 0.0614 - position_loss: 0.0230 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 64/100 30/30 [==============================] - 15s 487ms/step - loss: 0.0613 - position_loss: 0.0229 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 65/100 30/30 [==============================] - 15s 486ms/step - loss: 0.0614 - position_loss: 0.0230 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 66/100 30/30 [==============================] - 15s 493ms/step - loss: 0.0613 - position_loss: 0.0229 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 67/100 30/30 [==============================] - 15s 494ms/step - loss: 0.0613 - position_loss: 0.0229 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 68/100 30/30 [==============================] - 15s 490ms/step - loss: 0.0613 - position_loss: 0.0229 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 69/100 30/30 [==============================] - 15s 490ms/step - loss: 0.0613 - position_loss: 0.0229 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 70/100 30/30 [==============================] - 15s 486ms/step - loss: 0.0613 - position_loss: 0.0229 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 71/100 30/30 [==============================] - 15s 487ms/step - loss: 0.0613 - position_loss: 0.0229 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 72/100 30/30 [==============================] - 15s 486ms/step - loss: 0.0613 - position_loss: 0.0229 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 73/100 30/30 [==============================] - 15s 491ms/step - loss: 0.0613 - position_loss: 0.0229 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 74/100 30/30 [==============================] - 14s 483ms/step - loss: 0.0612 - position_loss: 0.0229 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 75/100 30/30 [==============================] - 15s 491ms/step - loss: 0.0612 - position_loss: 0.0229 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 76/100 30/30 [==============================] - 15s 495ms/step - loss: 0.0612 - position_loss: 0.0229 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 77/100 30/30 [==============================] - 15s 492ms/step - loss: 0.0612 - position_loss: 0.0229 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 78/100 30/30 [==============================] - 15s 499ms/step - loss: 0.0612 - position_loss: 0.0229 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 79/100 30/30 [==============================] - 15s 500ms/step - loss: 0.0612 - position_loss: 0.0229 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 80/100 30/30 [==============================] - 15s 501ms/step - loss: 0.0612 - position_loss: 0.0229 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 81/100 30/30 [==============================] - 15s 497ms/step - loss: 0.0612 - position_loss: 0.0229 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 82/100 30/30 [==============================] - 15s 495ms/step - loss: 0.0611 - position_loss: 0.0229 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 83/100 30/30 [==============================] - 15s 502ms/step - loss: 0.0611 - position_loss: 0.0229 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 84/100 30/30 [==============================] - 15s 491ms/step - loss: 0.0611 - position_loss: 0.0229 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 85/100 30/30 [==============================] - 15s 498ms/step - loss: 0.0612 - position_loss: 0.0229 - gru_regularizer_loss: 0.0356 - l2_xdx_activation_loss: 0.0021 Epoch 86/100 30/30 [==============================] - 15s 494ms/step - loss: 0.0611 - position_loss: 0.0229 - gru_regularizer_loss: 0.0355 - l2_xdx_activation_loss: 0.0021 Epoch 87/100 30/30 [==============================] - 15s 498ms/step - loss: 0.0611 - position_loss: 0.0229 - gru_regularizer_loss: 0.0355 - l2_xdx_activation_loss: 0.0021 Epoch 88/100 30/30 [==============================] - 15s 493ms/step - loss: 0.0611 - position_loss: 0.0229 - gru_regularizer_loss: 0.0355 - l2_xdx_activation_loss: 0.0021 Epoch 89/100 30/30 [==============================] - 15s 492ms/step - loss: 0.0611 - position_loss: 0.0229 - gru_regularizer_loss: 0.0355 - l2_xdx_activation_loss: 0.0021 Epoch 90/100 30/30 [==============================] - 15s 491ms/step - loss: 0.0611 - position_loss: 0.0229 - gru_regularizer_loss: 0.0355 - l2_xdx_activation_loss: 0.0021 Epoch 91/100 30/30 [==============================] - 15s 491ms/step - loss: 0.0610 - position_loss: 0.0228 - gru_regularizer_loss: 0.0355 - l2_xdx_activation_loss: 0.0021 Epoch 92/100 30/30 [==============================] - 15s 495ms/step - loss: 0.0611 - position_loss: 0.0229 - gru_regularizer_loss: 0.0355 - l2_xdx_activation_loss: 0.0021 Epoch 93/100 30/30 [==============================] - 15s 493ms/step - loss: 0.0610 - position_loss: 0.0228 - gru_regularizer_loss: 0.0355 - l2_xdx_activation_loss: 0.0021 Epoch 94/100 30/30 [==============================] - 15s 490ms/step - loss: 0.0610 - position_loss: 0.0228 - gru_regularizer_loss: 0.0355 - l2_xdx_activation_loss: 0.0021 Epoch 95/100 30/30 [==============================] - 15s 490ms/step - loss: 0.0610 - position_loss: 0.0228 - gru_regularizer_loss: 0.0355 - l2_xdx_activation_loss: 0.0021 Epoch 96/100 30/30 [==============================] - 15s 488ms/step - loss: 0.0610 - position_loss: 0.0228 - gru_regularizer_loss: 0.0355 - l2_xdx_activation_loss: 0.0021 Epoch 97/100 30/30 [==============================] - 15s 495ms/step - loss: 0.0610 - position_loss: 0.0228 - gru_regularizer_loss: 0.0355 - l2_xdx_activation_loss: 0.0021 Epoch 98/100 30/30 [==============================] - 15s 495ms/step - loss: 0.0610 - position_loss: 0.0228 - gru_regularizer_loss: 0.0355 - l2_xdx_activation_loss: 0.0021 Epoch 99/100 30/30 [==============================] - 15s 496ms/step - loss: 0.0610 - position_loss: 0.0228 - gru_regularizer_loss: 0.0355 - l2_xdx_activation_loss: 0.0021 Epoch 100/100 30/30 [==============================] - 15s 504ms/step - loss: 0.0610 - position_loss: 0.0228 - gru_regularizer_loss: 0.0355 - l2_xdx_activation_loss: 0.0021
w = 50
NF1w = window_average(position_loss_NF1,w)
FF1w = window_average(position_loss_FF1,w)
NF2w = window_average(position_loss_NF2,w)
FF2w = window_average(position_loss_FF2,w)
x1w = np.arange(1,np.shape(NF1w)[0]+1)
x2w = np.arange(1,np.shape(FF1w)[0]+1) + x1w[-1]
x3w = np.arange(1,np.shape(NF2w)[0]+1) + x2w[-1]
x4w = np.arange(1,np.shape(FF2w)[0]+1) + x3w[-1]
np.savez('savings2.npz', NF1w, FF1w, NF2w, FF2w, x1w, x2w, x3w, x4w)
fig,ax = plt.subplots(2,1,figsize=(6,10))
l1, = ax[0].plot(x1w,NF1w,'k.-')
l2, = ax[0].plot(x2w,FF1w,'g.-')
l3, = ax[0].plot(x3w,NF2w,'k.-')
l4, = ax[0].plot(x4w,FF2w,'r.-')
ax[0].legend([l1,l2,l3,l4],['NF1','CW1','NF2','CW2'])
l2, = ax[1].plot(FF1w,'g.-')
l4, = ax[1].plot(FF2w,'r.-')
ax[1].legend([l2,l4],['CW1','CW2'])
<matplotlib.legend.Legend at 0x7fee537fff10>